// var oBoxLt = getClass('box_lt');
// var oBox = document.getElementById('box')
// for (var i = 0; i < oBoxLt.length; i++) {
// 	oBoxLt[i].index = i;
// 	oBoxLt[i].onclick = function () {
// 		for (var j = 1; j < oBoxLt.length; j++) {
// 			if (j < this.index + 1) {
// 				oBox.children[j].index = j
// 				oBox.children[j].lt = 60 * j - 5
// 			}
// 			else {
// 				oBox.children[j].lt = 550 + 60 * j - 5
// 			}
// 			move(oBox.children[j], { 'left': oBox.children[j].lt }, 500)
// 		}
// 	}
//}
//获取手风琴的大盒子
let box = document.getElementById("box");
//将大盒子的集合赋予boxlist
let boxlist = box.children;
//提前将手风琴盒子的集合赋予给boxlistlength(提高for循环的速度，不至于每循环一次都要访问一次手风琴盒子的长度)
let boxlistlength = boxlist.length;
//计数器：用来记录点击过的下标
let counters = 0;
	//外循环进行添加点击事件
	for(let i = 0 ; i < boxlistlength ; i++){
		//每点击一次都要将它的下标记录下来
		boxlist[i].index = i;
		boxlist[i].onclick = function(){
			//如果当前点击的下标小于之前点击的下标就往右边移动
			if(counters > this.index){
				//switch选择语句进行点击哪个，哪个就要进行相应的移动
				switch(this.index){
					case 0:
						/**
						 * 参数1：对boxlist集合进行操作。
						 * 参数2：当点击集合的第一个元素时，从第2个元素(因为是children[1]所以这里参数为1)开始
						 *		 执行循环(因为第一个是当前点击的)，第二个元素往后全部移动。
						 * 参数3：循环要对第二个元素往后全部移动，直到大于它的长度为止。
						 * 参数4和参数5：判断children集合里每个子元素是集体往左边移动还是集体右边移动
						 * 
						 * 
						 * 以此类推
						 */
						AccordionRLMove(boxlist,1,boxlistlength,counters,this.index);
					case 1:
						AccordionRLMove(boxlist,2,boxlistlength,counters,this.index);
						break;
					case 2:
						AccordionRLMove(boxlist,3,boxlistlength,counters,this.index);
						break;
					case 3:
						AccordionRLMove(boxlist,4,boxlistlength,counters,this.index);
						break;	
					case 4:
						AccordionRLMove(boxlist,5,boxlistlength,counters,this.index);
						break;
					case 5:
						AccordionRLMove(boxlist,6,boxlistlength,counters,this.index);
						break;
					
				}
			}else{

				/**
				 * 参数2：因为是当前下标大于点击前的下标所以要往左边移动
				 * 		  所以除了第一个元素，其他元素都要一起往左边
				 * 参数3：因为是左边移动，所以要包含当前点击的下标一起移
				 * 		  动（因为for循环是小于第二个参数的，所以要当前元素+1）
				 * */ 
				switch(this.index){
					case 1:
						AccordionRLMove(boxlist,1,2,counters,this.index);
						break;
					case 2:
						AccordionRLMove(boxlist,1,3,counters,this.index);
						break;
					case 3:
						AccordionRLMove(boxlist,1,4,counters,this.index);
						break;	
					case 4:
						AccordionRLMove(boxlist,1,5,counters,this.index);
						break;
					case 5:
						AccordionRLMove(boxlist,1,6,counters,this.index);
						break;
				}
			}
			counters = this.index;
		}
	}
	/**
	 * @param  children:此参数表示传进来的是那个元素的集合，最终效果是要对传进来的这个集合进行各种操作
	 * @param  count:此参数表示从children集合中第几个元素开始进行操作它的内联样式
	 * @param  lengths:此参数表示传进来的children集合的指定的位置，因为手风琴往左边进行移动时不能根据children集合的长度进行操作,所以需要手动设置长度
	 * @param  counters:此参数表示上一个点击的元素的下标
	 * @param  CurrentSubscript:此参数表示当前点击的元素的下标
	 * @parameter 因为要判断children集合里每个子元素是往左边移动还是右边移动，所以要设置counterss参数和CurrentSubscript参数来进行比对
	 */
	//手风琴移动函数
	function AccordionRLMove(children,count,lengths,counterss,CurrentSubscript){
		//for循环对集体元素进行移动
		for(var i =  count; i < lengths ; i++){
			//点击一次并且记录该元素的下标
			children[i].index = i;
			/**
			 * 因为要判断当前下标是否小于前一个点击的元素，如果小
			 * 于前面的,就让在它后面的所有元素进行右移,反之就让在
			 * 它前面的左右元素进行左移。
			 * */ 
			if(counterss > CurrentSubscript){
				//在它后面的所有元素进行右移
				children[i].style.left = 550 + 60 * i + "px";
			}else{
				
				//在它前面的左右元素进行左移
				children[i].style.left = 60 * i + "px";
			}	
	    }
	}







